package com.suray.wcs.service.system.service;

import com.suray.wcs.service.system.entity.WareHouseDB;

import java.util.List;

/**
 * (WcsDistrict)表服务接口
 *
 * @author rongbj
 * @since 2020-02-18 13:03:36
 */
public interface IWareHouseDBService {

    /**
     * 新增数据
     *
     * @param wareHouseDB 实例对象
     * @return 新增结果
     */
    boolean insertWcsDist(WareHouseDB wareHouseDB);

    /**
     * 分页查询
     * @param wareHouseDB
     * @return
     */
    List<WareHouseDB> queryWareHouseList(WareHouseDB wareHouseDB);

    WareHouseDB queryWareHouseOne();

    List<WareHouseDB> queryAllWcsDist();

    /**
     * 条件查询数据
     *
     * @param wareHouseCode 查询条件仓库名称
     * @return 查询结果
     */
    WareHouseDB queryWareHouseByName(String wareHouseCode);

    /**
     * 条件查询数据
     *
     * @param wareHouseCode 查询条件仓库编码
     * @return 查询结果
     */
    WareHouseDB queryWareHouseByCode(String wareHouseCode);

    /**
     * 修改数据
     *
     * @param wareHouseDB 实例对象
     * @return 修改结果
     */
    boolean updateWcsDist(WareHouseDB wareHouseDB);

    /**
     * 根据库区名修改地图旋转角度
     *
     * @param districtName 库区名
     * @param mapRotate    地图旋转角度
     * @return 修改结果
     */
    boolean updateRotateByName(String districtName, Integer mapRotate);

    /**
     * 根据库区名查询配置是否可接收任务
     *
     * @param wareHouseDB 库区
     * @return true 可接收 false 不可接收
     */
    boolean getIsAccept(WareHouseDB wareHouseDB);

    /**
     * 根据库区名查询配置是否同层多车
     *
     * @return true 可接收 false 不可接收
     */
    boolean getMoreForOne();

    Integer getPriorityMode();

    /**
     * 当前仓库对象
     *
     * @return
     */
    WareHouseDB getCurWareHouseDB();

    int updatePortStatus(WareHouseDB wareHouseDB);

    boolean getIsChangeEnd();
}
